﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using FacProFacu;
using Comun;

namespace Guada
{
    public partial class FrmAltaProfesional : Plantilla
    {
        public FrmAltaProfesional()
        {
            InitializeComponent();
        }

        private void FrmAltaProfesional_Load(object sender, EventArgs e)
        {
            try
            {
                FacProFacu.Sistema sistema = new FacProFacu.Sistema();
                Controles control = new Controles();
                control.CargarCBox(cmbEspecialidad, sistema.GetEspecialidad().Tables["ESPECIALIDADES"], "CODIGO", "DESCRIPCION", Controles.ComboBoxLabel.SelectOne);
                control.CargarCBox(cmbSexo, sistema.TablaDeTabla("2", "SEXO").Tables["SEXO"], "CODIGO", "DESCRIPCION", Controles.ComboBoxLabel.SelectOne);
                control.CargarCBox(cmbEstadoCivil, sistema.TablaDeTabla("3", "ESTADOCIVIL").Tables["ESTADOCIVIL"], "CODIGO", "DESCRIPCION", Controles.ComboBoxLabel.SelectOne);
                control.CargarCBox(cmbTipoDoc, sistema.TablaDeTabla("1", "TIPODOC").Tables["TIPODOC"], "CODIGO", "DESCRIPCION", Controles.ComboBoxLabel.SelectOne);
            }
            catch
            {
                MessageBox.Show("Se ha producido un Error", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void BtnCancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void BtnGrabar_Click(object sender, EventArgs e)
        {
            if (ValidarCampos())
            {
                Usuario sistema = new Usuario();
                int alta = sistema.AltaProfesional(txtNombre.Text.Trim(), txtApellido.Text.Trim(),
                    txtMatricula.Text.Trim(), cmbEspecialidad.SelectedIndex.ToString(), cmbTipoDoc.SelectedValue.ToString().Trim(),
                    txtDocumento.Text.Trim(), cmbSexo.SelectedValue.ToString().Trim(), dateTime.Text.Trim(), cmbEstadoCivil.SelectedValue.ToString().Trim(),
                    txtMail.Text.Trim(), txtCalle.Text.Trim(), txtNum.Text.Trim(), txtDto.Text.Trim(), txtPiso.Text.Trim(), 
                    txtCodPod.Text.Trim(), txtLocalidad.Text.Trim(), txtProv.Text.Trim(), txtTelef.Text.Trim(), txtCel.Text.Trim());

                if (alta > 0)
                {
                    MessageBox.Show("Se ha realizado el alta del profesional con exito!", "ALTA DE PROFESIONAL", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }

        private bool ValidarCampos()
        {
            bool error = true;

            //Validacion de Combos
            if (cmbEspecialidad.SelectedIndex == 0)
            {
                ErrProfesional.SetError(cmbEspecialidad, "Debe seleccionar una Especialidad");
                error = false;
            }
            if (cmbSexo.SelectedIndex == 0)
            {
                ErrProfesional.SetError(cmbSexo, "Debe seleccionar el Tipo de Sexo");
                error = false;
            }
            if (cmbEstadoCivil.SelectedIndex == 0)
            {
                ErrProfesional.SetError(cmbEstadoCivil, "Debe seleccionar el Estado Civil");
                error = false;
            }
            if (cmbTipoDoc.SelectedIndex == 0)
            {
                ErrProfesional.SetError(cmbTipoDoc, "Debe seleccionar un Tipo de Documento");
                error = false;
            }

            //Validaciones de Datos del Profesional
            if (txtNombre.Text == string.Empty)
            {
                ErrProfesional.SetError(txtNombre, "Error Nombre");
                error = false;
            }
            if ( txtApellido.Text == string.Empty)
            {
                ErrProfesional.SetError(txtApellido, "Error Apellido");
                error = false;
            }
            if (txtMatricula.Text == string.Empty)
            {
                ErrProfesional.SetError(txtMatricula, "Error Matricula");
                error = false;
            }
            if (txtDocumento.Text == string.Empty)
            {
                ErrProfesional.SetError(txtDocumento, "Error Nro. Documento");
                error = false;
            }

            //Validaciones Datos Domiciliarios
            if (txtCalle.Text == string.Empty)
            {
                ErrProfesional.SetError(txtCalle, "Error Calle");
                error = false;
            }
            if (txtNum.Text == string.Empty)
            {
                ErrProfesional.SetError(txtNum, "Error Nro. Calle");
                error = false;
            }
            if (txtLocalidad.Text == string.Empty)
            {
                ErrProfesional.SetError(txtLocalidad, "Error Localidad");
                error = false;
            }
            if ( txtProv.Text == string.Empty)
            {
                ErrProfesional.SetError(txtProv, "Error Provincia");
                error = false;
            }
            if (txtCodPod.Text == string.Empty)
            {
                ErrProfesional.SetError(txtCodPod, "Error Codigo Postal");
                error = false;
            }

            return error;
        }
    }
}
